#ifndef EVENTHANDLER_H
#define EVENTHANDLER_H
#include <SDL.h>


// Base class to handle events from different input methods
class EventHandler
{
public:
	virtual ~EventHandler() {}

	void HandleEvent(const SDL_Event& event);

	virtual void OnKeyboardEvent(const SDL_KeyboardEvent&) {}

	virtual void OnMouseEvent(const SDL_MouseMotionEvent&) {}

	virtual void OnJoystickAxisEvent(const SDL_JoyAxisEvent&) {}

	virtual void OnHatEvent(const SDL_JoyHatEvent&) {}

	virtual void OnJoyButtonEvent(const SDL_JoyButtonEvent&) {}

	virtual void Quit();

};
#endif